#include<bits/stdc++.h>
using namespace std;
const int p=998244353;
inline void chadd(int &x,int y){
  if((x+=y)>=p)x-=p;
}
int main(){
  freopen("drama.in","r",stdin);
  freopen("drama.out","w",stdout);
  ios::sync_with_stdio(false);
  int n,m; cin>>n>>m;
  if(n<=5){
    vector<vector<int> > a,k;
    map<vector<int>,int> h;
    vector<int> p(n);
    iota(p.begin(),p.end(),0);
    do{
      h[p]=a.size(),a.emplace_back(p);
    }while(next_permutation(p.begin(),p.end()));
    k.resize(a.size(),vector<int>(n));
    for(int i=0;i<a.size();i++)
      for(int j=0;j<n;j++){
        auto x=a[i];
        rotate(x.begin(),x.begin()+1,x.begin()+j+1);
        k[i][j]=h[x];
      }
    vector<int> f(a.size()); f[0]=1;
    for(int i=0;i<m;i++){
      vector<int> g(a.size());
      for(int j=0;j<a.size();j++)
        for(int x=0;x<n;x++)
          chadd(g[k[j][x]],f[j]);
      f=g;
    }
    cout<<f[0]<<endl;
  }
  return 0;
}